/**
 * 
 */
package inmobiliaria.frsf.bo;

import inmobiliaria.frsf.model.Calle;
import inmobiliaria.frsf.model.Domicilio;
import inmobiliaria.frsf.model.Localidad;
import inmobiliaria.frsf.model.Provincia;

import java.util.List;

/**
 * @author Lucas
 * 
 */
public interface ColeccionesComunesBO {

	/**
	 * Obtiene el listado de provincias.
	 * 
	 * @return
	 * @throws Exception
	 */
	List<Provincia> getProvincias() throws Exception;

	/**
	 * Obtiene la lista de localidades
	 * 
	 * @param id
	 *            Id provincia
	 * @return
	 * @throws Exception
	 */
	List<Localidad> getLocalidades(Long id) throws Exception;

	/**
	 * Obtiene la lista de calles
	 * 
	 * @param id
	 *            Id localidad
	 * @return
	 * @throws Exception
	 */
	List<Calle> getCalles(Integer id) throws Exception;

	/**
	 * Realiza el guardado de un domicilio.
	 * 
	 * @param domicilio
	 * @return
	 * @throws Exception
	 */
	Integer guardarDomicilio(Domicilio domicilio) throws Exception;

	/**
	 * Actualiza los datos asociados a un domicilio
	 * 
	 * @param domicilio
	 * @throws Exception
	 */
	void updateDomicilio(Domicilio domicilio) throws Exception;

	

}
